With the development of distributed data storage technology, a data storage system is no longer limited to being locally deployed on a single storage device, but may be disposed at any physical position that is accessible to a user via a network. Meanwhile, a large data object may be divided into small data blocks and then stored on multiple storage devices. Further, multiple copies of each data block of the data object may be stored on different devices in a distributed data storage system so as to increase the reliability. If one storage device crashes, the copy stored on the crashed storage device may be recovered from other storage devices.
Data distribution among multiple storage devices is also important for distributed data processing. In a distributed processing system, data processing may be implemented on multiple devices, thereby the small data blocks may be read by different processing device for the processing. Then the processed result of each small data block may be integrated into a final result.